﻿using Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IService
{
    public interface IUtilService : ICommonService
    {
        FileSystem CreateFile(FileSystem obj);

        LevelRule CreateLevelRule(LevelRule obj);

        FileSystem GetFile(int fileNo);

        LevelRule GetRule(int RuleNo);

        IList<LevelRule> ListAllRule();

        IList<FileSystem> ListFileSystem(int belongNo);

        IList<LevelRule> ListRuleByFun(RuleFunction fun);

        void UpdateFile(FileSystem obj);

        void UpdateLevelRule(LevelRule obj);

        LevelRule GetRule(RuleFunction fun, string value);

        IList<FileSystem> ListFileSystem(int belongNo, FileType fun, APPRole role, string creator);

        School GetSchool(int schoolNO);

        IList<School> ListSchool(int cityCode);

        IList<School> ListAllSchool();

        IList<LifeCycle> ListLifeCycle(APPRole roleType, int roleID);

        LifeCycle GetLifeCycle(int lifeCycleID);

        IList<LifeCycle> ListLifeCycle(APPRole roleType, int roleID, LifeCycleFun fun);

        LifeCycle CreateLifeCycle(LifeCycle obj, string oper);

        IList<Relationship> ListRelationship(RelationshipFun fun, int roleFrom);

        Relationship CreateRelationship(Relationship obj, string oper);
        IList<Relationship> ListRelationshipTo(RelationshipFun fun, int roleTo);
    }
}
